package com.aircraftcarrier.framework.basic.gencode;

import cn.hutool.core.map.MapUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.aircraftcarrier.framework.tookit.StringPool;
import com.alibaba.fastjson.JSON;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.app.VelocityEngine;

import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import java.time.LocalDate;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;

/**
 * 类注释内容
 *
 * @author zhipengliu
 * @date 2022/8/1
 * @since 1.0
 */
public class Main {

    private static final String out = "/Users/zhipengliu/IdeaProjects/feihe/jd-data-tunnel/tunnel-infrastructure";
    private static final String classSuffix = "Schema";
    private static final String packageName = "com.fh.cloud.retail.jd.tunnel.infrastructure.model.domain.order.response.pop.get";

    private static final Map<String, ClassModel> classMap = cn.hutool.core.map.MapUtil.newHashMap(100);
    private static final Map<String, ClassModel> statisticsMap = MapUtil.newHashMap(100);

    private static String getJosResult() {
        return "{\"josResult\":{\"id\":0,\"type\":null,\"webPamer\":null,\"name\":null,\"required\":false,\"desc\":null,\"example\":null,\"elements\":[{\"id\":0,\"type\":\"com.jd.open.api.sdk.domain.order.OrderResult\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderDetailInfo\",\"elements\":[{\"id\":0,\"type\":\"com.jd.ac.domain.api.ApiResult\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"apiResult\",\"elements\":[{\"id\":0,\"type\":\"Boolean\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"success\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"true\",\"desc\":\"是否成功,true或者false\",\"paramName\":\"success\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"englishErrCode\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"system exception\",\"desc\":\"英文错误原因(Pls reduce the frequency and try again later；client validate does not pass or exist problem；system exception；orderId is not largger than 0 or is null；es exception)，如果成功，此字段为空。\",\"paramName\":\"englishErrCode\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"chineseErrCode\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"系统异常\",\"desc\":\"中文错误原因(访问太频繁，请降低频率，稍后重试；客户端校验没通过或有问题；系统异常；订单ID不大于0或者为空；ES查询异常),如果成功，此字段为空\",\"paramName\":\"chineseErrCode\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"Number\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"numberCode\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"999999\",\"desc\":\"数字错误(-110000；10500001；999999；10100002；13200004)\",\"paramName\":\"numberCode\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"返回结果\",\"paramName\":\"apiResult\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true},{\"id\":0,\"type\":\"com.jd.open.api.sdk.domain.order.OrderSearchInfo\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderInfo\",\"elements\":[{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"67834311\",\"desc\":\"订单id\",\"paramName\":\"orderId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"venderId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"177187\",\"desc\":\"商家id，商家编号\",\"paramName\":\"venderId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderType\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"22\",\"desc\":\"订单类型（22 SOP； 75 LOC；21:FBP，112:FCS，142:IBS） 可选字段，需要在输入参数optional_fields中写入才能返回\",\"paramName\":\"orderType\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"payType\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"4\",\"desc\":\"支付方式（1货到付款, 2邮局汇款, 3自提, 4在线支付, 5公司转账, 6银行卡转账）\",\"paramName\":\"payType\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderTotalPrice\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"100\",\"desc\":\"订单总金额。总金额=订单金额（不减优惠，不加运费服务费税费） \",\"paramName\":\"orderTotalPrice\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderSellerPrice\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"80\",\"desc\":\"订单货款金额（订单总金额-商家优惠金额）\",\"paramName\":\"orderSellerPrice\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderPayment\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"90\",\"desc\":\"用户应付金额。应付款=货款-用户优惠-余额+运费+税费+服务费\",\"paramName\":\"orderPayment\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"freightPrice\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"10\",\"desc\":\"商品的运费\",\"paramName\":\"freightPrice\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"sellerDiscount\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"20\",\"desc\":\"商家优惠金额\",\"paramName\":\"sellerDiscount\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderState\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"WAIT_SELLER_STOCK_OUT\",\"desc\":\"订单状态（英文）；枚举值：1）WAIT_SELLER_STOCK_OUT 等待出库 2）WAIT_GOODS_RECEIVE_CONFIRM 等待确认收货  3）WAIT_SELLER_DELIVERY等待发货（只适用于海外购商家，含义为“等待境内发货”标签下的订单,非海外购商家无需使用） 4) POP_ORDER_PAUSE POP暂停 5）FINISHED_L 完成 6）TRADE_CANCELED 取消 7）LOCKED 已锁定 8）WAIT_SEND_CODE 等待发码（LOC订单特有状态） 9）PAUSE 暂停（等待出库之前的状态） 10)DELIVERY_RETURN 配送退货 11）UN_KNOWN 未知 请联系运营\",\"paramName\":\"orderState\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderStateRemark\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"等待出库\",\"desc\":\"订单状态说明（中文）\",\"paramName\":\"orderStateRemark\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"deliveryType\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"只工作日送货(双休日、假日不用送)\",\"desc\":\"送货（日期）类型（1-只工作日送货(双休日、假日不用送);2-只双休日、假日送货(工作日不用送);3-工作日、双休日与假日均可送货;其他值-返回“任意时间”）\",\"paramName\":\"deliveryType\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"com.jd.ac.domain.api.offline.InvoiceEasyInfo\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"invoiceEasyInfo\",\"elements\":[{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"invoiceType\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"3\",\"desc\":\"发票类型，0=不开发票、1=普通发票、2=增值税发票(专票)、3=电子发票\",\"paramName\":\"invoiceType\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"invoiceTitle\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"发票抬头\",\"desc\":\"发票抬头。个人/公司名称\",\"paramName\":\"invoiceTitle\",\"specialName\":null,\"sensitiveType\":\"1\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"invoiceContentId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"发票内容\",\"desc\":\"发票内容\",\"paramName\":\"invoiceContentId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"invoiceConsigneeEmail\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"电子发票联系人邮箱\",\"desc\":\"电子发票联系人邮箱\",\"paramName\":\"invoiceConsigneeEmail\",\"specialName\":null,\"sensitiveType\":\"1\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"invoiceConsigneePhone\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"13222222222\",\"desc\":\"电子发票联系人手机号\",\"paramName\":\"invoiceConsigneePhone\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"0\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"invoiceCode\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"1WEUO2384329SD\",\"desc\":\"发票纳税人识别号\",\"paramName\":\"invoiceCode\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"发票组装信息。电子发票从这里获取。可替代invoiceInfo\",\"paramName\":\"invoiceEasyInfo\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"invoiceInfo\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"发票信息。电子发票请从invoiceEasyInfo里取 “invoice_info: 不需要开具发票”下无需开具发票；其它返回值请正常开具发票\",\"desc\":\"发票信息。电子发票请从invoiceEasyInfo里取 “invoice_info: 不需要开具发票”下无需开具发票；其它返回值请正常开具发票 \",\"paramName\":\"invoiceInfo\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"invoiceCode\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"普通发票纳税人识别码\",\"desc\":\"普通发票纳税人识别码\",\"paramName\":\"invoiceCode\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderRemark\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"尽快发货\",\"desc\":\"买家下单时订单备注\",\"paramName\":\"orderRemark\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderStartTime\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"2019-01-01 12:21:32\",\"desc\":\"下单时间\",\"paramName\":\"orderStartTime\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderEndTime\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"2019-02-01 12:21:32\",\"desc\":\"结单时间 如返回信息为“0001-01-01 00:00:00”和“1970-01-01 00:00:00”，可认为此订单为未完成状态。\",\"paramName\":\"orderEndTime\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"com.jd.open.api.sdk.domain.order.UserInfo\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"consigneeInfo\",\"elements\":[{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"fullname\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"张三\",\"desc\":\"姓名\",\"paramName\":\"fullname\",\"specialName\":null,\"sensitiveType\":\"1\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"telephone\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"0102553701\",\"desc\":\"固定电话\",\"paramName\":\"telephone\",\"specialName\":null,\"sensitiveType\":\"4\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"mobile\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"18222222222\",\"desc\":\"手机\",\"paramName\":\"mobile\",\"specialName\":null,\"sensitiveType\":\"4\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"fullAddress\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"河北廊坊市三河市齐心庄镇\",\"desc\":\"详细地址\",\"paramName\":\"fullAddress\",\"specialName\":null,\"sensitiveType\":\"1\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"province\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"河北省\",\"desc\":\"省\",\"paramName\":\"province\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"city\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"廊坊市\",\"desc\":\"市\",\"paramName\":\"city\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"county\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"三河市\",\"desc\":\"县\",\"paramName\":\"county\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"town\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"齐心庄镇\",\"desc\":\"镇\",\"paramName\":\"town\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"provinceId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"5\",\"desc\":\"省Id\",\"paramName\":\"provinceId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"cityId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"274\",\"desc\":\"市Id\",\"paramName\":\"cityId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"countyId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"49707\",\"desc\":\"县Id\",\"paramName\":\"countyId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"townId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"49968\",\"desc\":\"镇Id\",\"paramName\":\"townId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"收货人基本信息\",\"paramName\":\"consigneeInfo\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true},{\"id\":0,\"type\":\"java.util.List\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"itemInfoList\",\"elements\":[{\"id\":0,\"type\":\"com.jd.open.api.sdk.doamin.order.ItemInfo\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"---\",\"elements\":[{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"skuId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"12389871\",\"desc\":\"京东内部SKU的ID \",\"paramName\":\"skuId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"outerSkuId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"SKU外部ID（极端情况下不保证返回，建议从商品接口获取\",\"desc\":\"SKU外部ID（极端情况下不保证返回，建议从商品接口获取\",\"paramName\":\"outerSkuId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"skuName\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"商品名称\",\"desc\":\"商品的名称+SKU规格\",\"paramName\":\"skuName\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"jdPrice\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"23.11\",\"desc\":\"SKU的京东价\",\"paramName\":\"jdPrice\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"giftPoint\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"1000\",\"desc\":\"赠送积分\",\"paramName\":\"giftPoint\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"wareId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"89112\",\"desc\":\"京东内部商品ID（极端情况下不保证返回，建议从商品接口获取） \",\"paramName\":\"wareId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"itemTotal\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"2\",\"desc\":\"数量\",\"paramName\":\"itemTotal\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"productNo\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"891112345\",\"desc\":\"货号\",\"paramName\":\"productNo\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"serviceName\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"服务项名称\",\"desc\":\"服务项名称\",\"paramName\":\"serviceName\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"newStoreId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"1\",\"desc\":\"item维度的仓库id\",\"paramName\":\"newStoreId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"itemExt\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"tem维度的扩展信息；json；服务项数据、黄金珠宝订单标识、医疗器械,门店id等。黄金珠宝标识：zszs=1; 门店id对应的key:locShopId(只有门店服务的订单,扩展信息里面才有这个节点)\",\"desc\":\"item维度的扩展信息；json；服务项数据、黄金珠宝订单标识、医疗器械,门店id等。黄金珠宝标识：zszs=1; 门店id对应的key:locShopId(只有门店服务的订单,扩展信息里面才有这个节点)\",\"paramName\":\"itemExt\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"\",\"paramName\":\"---\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"商品详细信息\",\"paramName\":\"itemInfoList\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true},{\"id\":0,\"type\":\"java.util.List\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"couponDetailList\",\"elements\":[{\"id\":0,\"type\":\"com.jd.open.sdk.domain.order.CouponDetail\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"---\",\"elements\":[{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"91379271133\",\"desc\":\"订单编号\",\"paramName\":\"orderId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"skuId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"1233321\",\"desc\":\"京东sku编号。(只有30-单品促销优惠 才有skuId，其他时值为””) \",\"paramName\":\"skuId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"couponType\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"29\",\"desc\":\"优惠类型: 20-套装优惠, 28-闪团优惠, 29-团购优惠, 30-单品促销优惠, 34-手机红包, 35-满返满送(返现), 39-京豆优惠,41-京东券优惠, 52-礼品卡优惠,100-店铺优惠 \",\"paramName\":\"couponType\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"couponPrice\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"1\",\"desc\":\"优惠金额。isv请联系服务市场类目运营，商家请联系店铺运营。\",\"paramName\":\"couponPrice\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"\",\"paramName\":\"---\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"优惠详细信息\",\"paramName\":\"couponDetailList\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"venderRemark\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"可发货\",\"desc\":\"商家订单备注（不大于500字符） 可选字段，需要在输入参数optional_fields中写入才能返回 \",\"paramName\":\"venderRemark\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"balanceUsed\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"1\",\"desc\":\"余额支付金额 可选字段，需要在输入参数optional_fields中写入才能返回 \",\"paramName\":\"balanceUsed\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"pin\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"hys7975\",\"desc\":\"买家的账号信息 可选字段，需要在输入参数optional_fields中写入才能返回\",\"paramName\":\"pin\",\"specialName\":null,\"sensitiveType\":\"2\",\"sensitiveValid\":\"\",\"aliasWebPamer\":\"open_id_buyer\",\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"returnOrder\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"0\",\"desc\":\"售后订单标记 0:不是换货订单 1返修发货,直接赔偿,客服补件 2售后调货 可选字段，需要在输入参数optional_fields中写入才能返回\",\"paramName\":\"returnOrder\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"paymentConfirmTime\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"2019-02-02 12:21:32\",\"desc\":\"付款确认时间 如果没有付款时间 默认返回0001-01-01 00:00:00 可选字段，需要在输入参数optional_fields中写入才能返回 \",\"paramName\":\"paymentConfirmTime\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"waybill\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"运单号(当厂家自送时运单号可为空，不同物流公司的运单号用|分隔，如果同一物流公司有多个运单号，则用英文逗号分隔) 可选字段，需要在输入参数optional_fields中写入才能返回\",\"desc\":\"运单号(当厂家自送时运单号可为空，不同物流公司的运单号用|分隔，如果同一物流公司有多个运单号，则用英文逗号分隔) 可选字段，需要在输入参数optional_fields中写入才能返回\",\"paramName\":\"waybill\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"logisticsId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"21\",\"desc\":\"物流公司ID 可选字段，需要在输入参数optional_fields中写入才能返回\",\"paramName\":\"logisticsId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"com.jd.open.api.domain.order.VatIncoiceInfo\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"vatInfo\",\"elements\":[{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"vatNo\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"1\",\"desc\":\"纳税人识别号\",\"paramName\":\"vatNo\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"addressRegIstered\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"北京市海淀区\",\"desc\":\"注册地址\",\"paramName\":\"addressRegIstered\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"phoneRegIstered\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"15034342222\",\"desc\":\"注册电话\",\"paramName\":\"phoneRegIstered\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"depositBank\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"中国人民银行\",\"desc\":\"开户银行\",\"paramName\":\"depositBank\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"bankAccount\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"银行账号\",\"desc\":\"银行账户\",\"paramName\":\"bankAccount\",\"specialName\":null,\"sensitiveType\":\"1\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"userAddress\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"北京市大兴区科创十一街\",\"desc\":\"收票人地址\",\"paramName\":\"userAddress\",\"specialName\":null,\"sensitiveType\":\"1\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"userName\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"张三\",\"desc\":\"收票人姓名\",\"paramName\":\"userName\",\"specialName\":null,\"sensitiveType\":\"1\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"userPhone\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"18312333333\",\"desc\":\"收票人电话\",\"paramName\":\"userPhone\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"0\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"invoicePersonalName\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"李四\",\"desc\":\"普通发票,电子普通发票的个人姓名\",\"paramName\":\"invoicePersonalName\",\"specialName\":null,\"sensitiveType\":\"1\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"增值税发票(专票),普通发票,普通电子发票 可选字段，需要在输入参数optional_fields中写入才能返回(发票相关扩展字段)\",\"paramName\":\"vatInfo\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"modified\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"2019-01-01 11:11:11\",\"desc\":\"订单更新时间\",\"paramName\":\"modified\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"directParentOrderId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"1\",\"desc\":\"直接父订单号 可选字段，需要在输入参数optional_fields中写入才能返回 \",\"paramName\":\"directParentOrderId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"parentOrderId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"1\",\"desc\":\"根父订单号 可选字段，需要在输入参数optional_fields中写入才能返回 \",\"paramName\":\"parentOrderId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"customs\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"广州南沙保税区\",\"desc\":\"保税区信息【广州南沙保税区，广州南沙保税区，杭州萧山保税区等】\",\"paramName\":\"customs\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"customsModel\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"直邮\",\"desc\":\"保税模型：【直邮，保税集货，保税备货】\",\"paramName\":\"customsModel\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderSource\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"移动端订单\",\"desc\":\"订单来源。移动端订单、PC端订单、手Q订单、微信订单、拍拍订单、农村电商\",\"paramName\":\"orderSource\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"storeOrder\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"京仓订单\",\"desc\":\"当ordertype为22的时候。京仓订单/云仓订单/空值“”；京仓、云仓订单，商家请勿发货。\",\"paramName\":\"storeOrder\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"Number\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"idSopShipmenttype\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"68\",\"desc\":\"配送方式，是否京配。68=京配，69=京配自提。71=同城配送（当是71时请通过jingdong.pop.order.getOrderExtInfoByOrderId接口获取配送时效信息）\",\"paramName\":\"idSopShipmenttype\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"scDT\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"2019-02-02 12:21:32\",\"desc\":\"最早生产时间。预约出库时间\",\"paramName\":\"scDT\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"serviceFee\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"1\",\"desc\":\"服务费。目前没有此值\",\"paramName\":\"serviceFee\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"com.jd.ac.domain.api.offline.OrderInfoResultPauseBizInfo\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"pauseBizInfo\",\"elements\":[{\"id\":0,\"type\":\"java.util.List\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"pauseBizStatusList\",\"elements\":[{\"id\":0,\"type\":\"com.jd.ac.domain.api.offline.OrderInfoResultPauseBizInfo.PauseBizStatus\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"---\",\"elements\":[{\"id\":0,\"type\":\"Number\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"bizType\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"1\",\"desc\":\"业务类型\",\"paramName\":\"bizType\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"Number\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"bizStatus\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"1\",\"desc\":\"业务处理状态。0.未处理 1.处理成功\",\"paramName\":\"bizStatus\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"\",\"paramName\":\"---\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"订单暂停业务处理状态集\",\"paramName\":\"pauseBizStatusList\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true},{\"id\":0,\"type\":\"com.jd.ac.domain.api.offline.OrderInfoResultPauseBizInfo.PauseBizDataYy\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"pauseBizDataYy\",\"elements\":[{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"codDT\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"2019-01-01 12:21:32\",\"desc\":\"用户预约时间\",\"paramName\":\"codDT\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"dbDT\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"2019-01-01 12:21:32\",\"desc\":\"最晚出库时间\",\"paramName\":\"dbDT\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"ljDT\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"2019-02-01 12:21:32\",\"desc\":\"最晚揽件时间\",\"paramName\":\"ljDT\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"订单暂停业务数据（预约日历）\",\"paramName\":\"pauseBizDataYy\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"订单暂停业务数据\",\"paramName\":\"pauseBizInfo\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"taxFee\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"100\",\"desc\":\"税价分离,保存税费,单位:分\",\"paramName\":\"taxFee\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"tuiHuoWuYou\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"退货无忧\",\"desc\":\"退货无忧\",\"paramName\":\"tuiHuoWuYou\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderSign\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"sendpay(京东内部标识业务类型的字符串，一般为500位)\",\"desc\":\"sendpay(京东内部标识业务类型的字符串，一般为500位)\",\"paramName\":\"orderSign\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"storeId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"21\",\"desc\":\"仓库Id\",\"paramName\":\"storeId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"menDianId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"32\",\"desc\":\"门店Id\",\"paramName\":\"menDianId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"mdbStoreId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"23900\",\"desc\":\"门店帮Id。\",\"paramName\":\"mdbStoreId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"salesPin\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"jd_51b90fbbf3118\",\"desc\":\"导购员pin。\",\"paramName\":\"salesPin\",\"specialName\":null,\"sensitiveType\":\"2\",\"sensitiveValid\":\"\",\"aliasWebPamer\":\"open_id_seller\",\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"com.jd.open.api.sdk.domain.order.UserInfo\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"originalConsigneeInfo\",\"elements\":[{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"fullname\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"张三\",\"desc\":\"姓名\",\"paramName\":\"fullname\",\"specialName\":null,\"sensitiveType\":\"1\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"telephone\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"0102553701\",\"desc\":\"固定电话\",\"paramName\":\"telephone\",\"specialName\":null,\"sensitiveType\":\"4\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"mobile\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"18222222222\",\"desc\":\"手机\",\"paramName\":\"mobile\",\"specialName\":null,\"sensitiveType\":\"4\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"fullAddress\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"河北廊坊市三河市齐心庄镇\",\"desc\":\"详细地址\",\"paramName\":\"fullAddress\",\"specialName\":null,\"sensitiveType\":\"1\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"province\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"河北省\",\"desc\":\"省\",\"paramName\":\"province\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"city\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"廊坊市\",\"desc\":\"市\",\"paramName\":\"city\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"county\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"三河市\",\"desc\":\"县\",\"paramName\":\"county\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"town\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"齐心庄镇\",\"desc\":\"镇\",\"paramName\":\"town\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"provinceId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"5\",\"desc\":\"省Id\",\"paramName\":\"provinceId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"cityId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"274\",\"desc\":\"市Id\",\"paramName\":\"cityId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"countyId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"49707\",\"desc\":\"县Id\",\"paramName\":\"countyId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"townId\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"49968\",\"desc\":\"镇Id\",\"paramName\":\"townId\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"集运订单客户真实收获地址(仅集运订单即sendpay第124位为7的订单有这个字段)\",\"paramName\":\"originalConsigneeInfo\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderExt\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"订单维度扩展字段,json;\",\"desc\":\"订单维度扩展字段,json;\",\"paramName\":\"orderExt\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"java.util.Map\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"orderMarkDesc\",\"elements\":[{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"TryBeforePayLater\",\"elements\":[],\"validators\":null,\"required\":false,\"value\":\"1\",\"desc\":\"京品试订单标注。1代表是京品试订单\",\"paramName\":\"TryBeforePayLater\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false}],\"validators\":null,\"required\":false,\"value\":\"\",\"desc\":\"订单标注描述\",\"paramName\":\"orderMarkDesc\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"realPin\",\"elements\":[],\"validators\":null,\"required\":false,\"value\":\"hyS7975\",\"desc\":\"买家的账号信息 真实PIN 可选字段，需要在输入参数optional_fields中写入才能返回\",\"paramName\":\"realPin\",\"specialName\":null,\"sensitiveType\":\"2\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"sendpayMap\",\"elements\":[],\"validators\":null,\"required\":false,\"value\":\"{“301”：“1,“501”：“1”,“509”:“1”,”688”:”2”,“559”:“2”,“599”:”7”}\",\"desc\":\"包含sendpay所有打标逻辑，500位后的sendpay打标逻辑只有这个字段有。示例：{“301”：“1”，“501”：“1”，“509”:“1”,”688”:”2”,“559”:“2”，“599”:”7”}\",\"paramName\":\"sendpayMap\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"open_id_buyer\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"hys7975\",\"desc\":\"买家的账号信息 可选字段，需要在输入参数optional_fields中写入才能返回\",\"paramName\":\"open_id_buyer\",\"specialName\":null,\"sensitiveType\":\"2\",\"sensitiveValid\":\"\",\"aliasWebPamer\":\"open_id_buyer\",\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"xid_buyer\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"hys7975\",\"desc\":\"买家的账号信息 可选字段，需要在输入参数optional_fields中写入才能返回\",\"paramName\":\"xid_buyer\",\"specialName\":null,\"sensitiveType\":\"2\",\"sensitiveValid\":\"\",\"aliasWebPamer\":\"open_id_buyer\",\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"open_id_seller\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"jd_51b90fbbf3118\",\"desc\":\"导购员pin。\",\"paramName\":\"open_id_seller\",\"specialName\":null,\"sensitiveType\":\"2\",\"sensitiveValid\":\"\",\"aliasWebPamer\":\"open_id_seller\",\"systemValue\":false,\"parent\":false},{\"id\":0,\"type\":\"String\",\"defaultValue\":\"\",\"SystemValue\":false,\"webPamer\":\"xid_seller\",\"elements\":[],\"validators\":null,\"required\":true,\"value\":\"jd_51b90fbbf3118\",\"desc\":\"导购员pin。\",\"paramName\":\"xid_seller\",\"specialName\":null,\"sensitiveType\":\"2\",\"sensitiveValid\":\"\",\"aliasWebPamer\":\"open_id_seller\",\"systemValue\":false,\"parent\":false}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"orderInfo\",\"paramName\":\"orderInfo\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true}],\"validators\":null,\"required\":true,\"value\":\"\",\"desc\":\"订单详细信息\",\"paramName\":\"orderDetailInfo\",\"specialName\":null,\"sensitiveType\":\"\",\"sensitiveValid\":\"\",\"aliasWebPamer\":null,\"systemValue\":false,\"parent\":true}],\"attributeName\":null,\"needFilter\":\"\"}}";
    }

    public static void main(String[] args) {
        String jsonStr = getJosResult();
        System.out.println("josResult: \n" + jsonStr);
        JSONObject jsonObject = JSONUtil.parseObj(jsonStr);
        JSONObject josResult = jsonObject.getJSONObject("josResult");
        Object elements = josResult.get("elements");

        ClassModel root = new ClassModel();
        root.setType("com.");
        classMap.put("PopOrderGetResponse" + classSuffix, root);

        parsing(elements, root.getPropertyList());

        System.out.println("class: \n" + JSON.toJSONString(classMap));
        System.out.println("statistics: \n" + JSON.toJSONString(statisticsMap));

        Properties p = new Properties();
        p.setProperty("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
        p.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, StringPool.EMPTY);
        p.setProperty(Velocity.ENCODING_DEFAULT, StandardCharsets.UTF_8.name());
        p.setProperty(Velocity.INPUT_ENCODING, StandardCharsets.UTF_8.name());
        p.setProperty("file.resource.loader.unicode", StringPool.TRUE);
        VelocityEngine velocityEngine = new VelocityEngine(p);
        Template template = velocityEngine.getTemplate("/template/Class.java.vm", StandardCharsets.UTF_8.name());

        String path = out + "/src/main/java/" + packageName.replaceAll("\\.", "\\/") + "/";

        classMap.forEach((k, v) -> {
            if (!isCustomType(v.getType())) {
                return;
            }

            Map<Object, Object> clazz = new HashMap<>();
            clazz.put("packageName", packageName);
            clazz.put("className", k);
            clazz.put("comment", v.getComment());
            clazz.put("fields", v.getPropertyList());
            Map<String, Object> context = new HashMap<>();
            context.put("clazz", clazz);
            context.put("author", "liuzhipeng");
            context.put("date", LocalDate.now());

            try (FileOutputStream fos = new FileOutputStream(path + k + ".java");
                 OutputStreamWriter ow = new OutputStreamWriter(fos, StandardCharsets.UTF_8.name());
                 BufferedWriter writer = new BufferedWriter(ow)) {
                template.merge(new VelocityContext(context), writer);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        });

    }

    private static void parsing(Object json, List<PropertyModel> propertyModelList) {
        if (json instanceof JSONArray array) {
            Iterator<Object> iterator = array.stream().iterator();
            while (iterator.hasNext()) {
                parsing(JSONUtil.parse(iterator.next()), propertyModelList);
            }
        } else if (json instanceof JSONObject jsonObject) {
            Object value = jsonObject.get("value");
            String desc = jsonObject.getStr("desc");
            String type = jsonObject.getStr("type");
            String paramName = jsonObject.getStr("paramName");
            JSONArray jsonArray = jsonObject.getJSONArray("elements");

            PropertyModel property = new PropertyModel();
            property.setPropertyType(substrType(type));
            property.setPropertyName(paramName);
            property.setComment(desc);
            property.setGeneric(parseGeneric(type, jsonArray));
            property.setMapGenericKey("String");
            property.setMapGenericValue(parseGeneric(type, jsonArray));
            property.setExample(value);
            if (isCustomType(type)) {
                property.setPropertyType(property.getPropertyType() + classSuffix);
            }
            propertyModelList.add(property);

            if (needStatistics(type)) {
                ClassModel statisticsClassModel = statisticsMap.get(type);
                if (statisticsClassModel == null) {
                    statisticsClassModel = new ClassModel();
                    statisticsClassModel.setType(type);
                    statisticsClassModel.setClassName(paramName);
                    statisticsMap.put(type, statisticsClassModel);
                }
                statisticsClassModel.getPropertyList().add(property);
            }

            ClassModel classModel = classMap.get(property.getPropertyType());
            if (classModel == null) {
                classModel = new ClassModel();
                classModel.setType(type);
                classModel.setClassName(paramName);
                classModel.setComment(desc);
                classMap.put(property.getPropertyType(), classModel);
            }
            parsing(jsonArray, classModel.getPropertyList());
        }
    }

    private static boolean needStatistics(String type) {
        if (type == null) {
            return false;
        }
        boolean need;
        // boolean
        if ("Boolean".equals(type)) {
            // Number = Integer, Long.. ? 看文档
            need = true;
        }
        // String
//        else if ("String".equals(type)) {
//            // list内容 = 对象，还是基本。。 ? 看文档
//            need = true;
//        }
        // Number
        else if ("Number".equals(type)) {
            // list内容 = 对象，还是基本。。 ? 看文档
            need = true;
        }
        // List
        else if (type.contains("java.util.List")) {
            // list内容 = 对象，还是基本。。 ? 看文档
            need = true;
        }
        // Map
        else if (type.contains("java.util.Map")) {
            // map内容 = 对象，还是基本。。 ? 看文档
            need = true;
        } else {
            need = false;
        }
        return need;
    }

    private static String parseGeneric(String type, JSONArray jsonArray) {
        if (type == null || jsonArray == null) {
            return null;
        }

        if (type.contains("java.util.List")) {
            String typeValue = jsonArray.getByPath("[0].[type]", String.class);
            if (isCustomType(typeValue)) {
                return substrType(typeValue) + classSuffix;
            }
            return substrType(typeValue);
        }

        if (type.contains("java.util.Map")) {
            String typeValue = jsonArray.getByPath("[0].[type]", String.class);
            if (isCustomType(typeValue)) {
                return substrType(typeValue) + classSuffix;
            }
            return substrType(typeValue);
        }
        return null;
    }

    private static String substrType(String type) {
        if (type == null) {
            return null;
        }
        return type.substring(type.lastIndexOf(".") + 1);
    }

    private static boolean isCustomType(String type) {
        if (type == null) {
            return false;
        }
        boolean isBaseType;
        if ("Boolean".equals(type) || "String".equals(type) || "Number".equals(type)) {
            // Number = Integer, Long.. ? 看文档
            isBaseType = false;
        } else if (type.contains("com.")) {
            isBaseType = true;
        } else if (type.contains("java.util.List")) {
            // list内容 = 对象，还是基本。。 ? 看文档
            isBaseType = false;
        } else if (type.contains("java.util.Map")) {
            // map内容 = 对象，还是基本。。 ? 看文档
            isBaseType = false;
        } else {
            System.out.println("type:" + type);
            throw new RuntimeException("not found type");
        }
        return isBaseType;
    }


}
